package com.ruoyi.biz.mapper;

import com.ruoyi.biz.domain.SensorInfo;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

/**
 * 【请填写功能名称】Mapper接口
 *
 * @author ruoyi
 * @date 2020-11-30
 */
public interface SensorInfoMapper
{
    /**
     * 查询【请填写功能名称】
     *
     * @param sensorId 【请填写功能名称】ID
     * @return 【请填写功能名称】
     */
    public SensorInfo selectSensorInfoById(Long sensorId);

    /**
     * 查询【请填写功能名称】列表
     *
     * @param sensorInfo 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<SensorInfo> selectSensorInfoList(SensorInfo sensorInfo);

    /**
     * 新增【请填写功能名称】
     *
     * @param sensorInfo 【请填写功能名称】
     * @return 结果
     */
    public int insertSensorInfo(SensorInfo sensorInfo);

    /**
     * 修改【请填写功能名称】
     *
     * @param sensorInfo 【请填写功能名称】
     * @return 结果
     */
    public int updateSensorInfo(SensorInfo sensorInfo);

    /**
     * 删除【请填写功能名称】
     *
     * @param sensorId 【请填写功能名称】ID
     * @return 结果
     */
    public int deleteSensorInfoById(Long sensorId);

    // 根据芯片id获取传感器的code和id以及名称
    List<SensorInfo> selectSensorInfoByChipId(Long chipId);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param sensorIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteSensorInfoByIds(Long[] sensorIds);

    int startOrStopSensor(SensorInfo sensorInfo);

    String getChipCodeById(Long chipId);

    String getSensorInfoByCode(String sensorCode);

    @Select("select max(sort) from sensor_info")
    Integer selectMaxSort();

    /*@Select("select * from sensor_info where sensor_code = #{sensorCode}")*/
    SensorInfo selectSensorByCode(@Param("sensorCode") String sensorCode);

    @Select("SELECT count(*) FROM `warned_record` where sensor_name = #{sensorName} and type = #{type}")
    Integer selectSensorInfoNumsByName(@Param("sensorName") String sensorName,@Param("type") Integer type);

    @Select("select * from sensor_info where sensor_name = #{sensorName} ")
    SensorInfo getSensorByName(String sensorName);
}
